/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package clases;

import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.TableGenerator;

/**
 *
 * @author Miguel_
 */
@Entity
@Table(name = "BEBIDA")
public class Bebida implements Serializable {
    
    private Integer id;
    private String nombre; //nombre de la bebida
    private String tipo; //tipo de vino
    private int anio; //año del vino
    private String denominacion; //denominacion de origen del vino
    private String bodega; //nombre de la bodega del vino
    private double precio; //precio orientativo en bodega
    private Nacionalidad nacionalidad; //nacionalidad de la bebida
    
    public Bebida(){}
    
    public Bebida(Integer id)
    {
        this.id = id;
    }

    @TableGenerator(
    name="BE_GEN",
    table="JPA_WXS_APP_SEQUENCE_GENERATOR",
    pkColumnName="GEN_KEY",
    valueColumnName="GEN_VALUE",
    pkColumnValue="BEBIDA_ID",
    allocationSize=1,
    initialValue= 0 )
    @Id
    @GeneratedValue(strategy=GenerationType.TABLE,generator="BE_GEN")
    @Column(name = "ID", nullable = false)
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @Column(name = "NOMBRE")
    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    @Column(name = "BODEGA")
    public String getBodega() {
        return bodega;
    }

    public void setBodega(String bodega) {
        this.bodega = bodega;
    }
    
    @OneToOne(cascade=CascadeType.ALL)
    @JoinColumn(name = "NACIONALIDAD_ID")
    public Nacionalidad getNacionalidad() {
        return nacionalidad;
    }

    public void setNacionalidad(Nacionalidad nacionalidad) {
        this.nacionalidad = nacionalidad;
    }

    @Column(name = "TIPO")
    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }

    @Column(name = "ANIO")
    public int getAnio() {
        return anio;
    }

    public void setAnio(int anio) {
        this.anio = anio;
    }

    @Column(name = "DENOMINACION")
    public String getDenominacion() {
        return denominacion;
    }

    public void setDenominacion(String denominacion) {
        this.denominacion = denominacion;
    }

    @Column(name = "PRECIO")
    public double getPrecio() {
        return precio;
    }

    public void setPrecio(double precio) {
        this.precio = precio;
    }
}
